The present invention relates to interactive computing. More particularly, the present invention relates to a communication technique for highly interactive applications over a network with delays.
Interactive applications are application programs which interact or communicate with each other. Examples of interactive applications includes video games, chat, and a wide variety of communications between computers. Two general classes of interactive applications include slow applications, and fast applications. Slow applications include card games, chess, chat, etc., where the minimum required response time is relatively long (i.e., several seconds). On the other hand, applications that require quick interaction from the operators and quick interaction of the objects in the game are another class of applications. These fast applications are sometimes referred to as "twitch" games because of the very quick interaction required to play them. The required response times for twitch games are measured in terms of, for example, milliseconds (i.e., 50 milliseconds). Interactive games over a network encounter latency problems when performing interactive procedures and actions. While latency is not a problem for slow applications being played interactively across a network, such as chess or chat, latency can inhibit implementation of highly interactive twitch games if the delay is significant as compared to the minimum required response time for the game or application. Where latency is significant, highly interactive twitch games are impractical because applications only receive historical game information rather than current or real-time information.
Therefore, there exists a need for a communication technique that allows highly interactive twitch games or fast application programs to interact over a network having delays.